home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine CD 1995
/
Archive Magazine CD 1995.iso
/
text
/
hints
/
volume_03
/
issue_04
< prev
next >
Wrap
Text File
|
1995-02-16
|
7KB
|
204 lines
• 80k of RMA and rising! RMA stands for Relocatable Module Area. In
English, this is the area of memory which some parts of the operating
system (modules) use as work space. This is why when you first
initialise your computer you will find that your RMA takes over 80k of
memory. For those of you who are curious, here is a guide to the memory
each module claims on power up:
3.04
Module Workspace (bytes)
3.04
FileSwitch 2400
3.04
Desktop 528
3.04
SystemDevices 288
3.04
BBCEconet 80
3.04
InternationalKeyboard 528
3.04
Debugger 448
3.04
SoundChannels 8464
3.04
Sound Scheduler 8208
3.04
WaveSynth 1760
3.04
StringLib 8576
3.04
Perussion 8800
3.04
SpriteExtend 1296
3.04
Draw 272
3.04
FontManager 2832
3.04
WindowManager 7920
3.04
NetStatus 16
3.04
Podule 208
3.04
ADFS 656
3.04
FileCore%ADFS 12,464
3.04
HourGlass 1952
3.04
TaskManager 3760
3.04
PaletteUtil 3632
3.04
Filer 4993
3.04
ADFSFiler 2336
3.04
ShellCLI 1872
3.04
Total 84308
3.04
RMA is also used to contain WIMP sprites (especially application icons
stored in their !Sprite files) and relocatable modules, which add extra
facilities to the ROM based operating system e.g. 65Tube provides BBC
emulation. This means that as the Archimedes ‘sees’ and loads more
applications/modules the memory acquired by the RMA grows and can quite
easily reach 300k plus!
3.04
Since there are several uses for the RMA, there are several ways of
reducing the memory it requires:
3.04
a) Remove individual modules using the *RMKill command e.g. *RMKill
Percussion − this will only temporarily remove the facilities provided
by a module.
3.04
b) Unplug unwanted modules using the *RMUnplug command e.g. *RMUnplug
BBCEconet − this will permanently remove the facilities provided by an
operating system ROM module − so if you don’t have Econet or don’t use
the Debugger then you can unplug the relevant modules and release their
workspace. Note, you can reinvoke the facilities of a module by using
the *RMReInit command.
3.04
c) Use the following BASIC V program to clear the RMA sprite area:
3.04
program segment missing
3.04
d) If you have finished processing and saved all your work you could
press <ctrl-break> but this is rather drastic.
3.04
• ArcTerm update − Hugo Fiennes has updated ArcTerm v6.01 so that it
works properly with the CET and CET+ standards. An upgrade can be
obtained direct from Hugo Fiennes free of charge.
3.04
• Arthur desktop − If any of you have changed over to RISC-OS but are
pining for the old Arthur desktop (!) then see if you can get hold of a
copy of Brainsoft’s Disk Transfer program. This provides a modified ram
copy of the desktop with extra features added. You will then be able to
access your old desktop diaries, etc. Dave Woods.
3.04
• ASCII BASIC programs − BASIC V can load and renumber an untokenised
text file with the *BASIC -load <filename> command (the same applies
with the -chain option). Thus you don’t really need a BASIC to ASCII
convertor; you could just keep all your BASIC programs in ASCII, at
least while you develop them, and still be able to edit them using a
text editor, e.g. TWIN or !Edit.
3.04
• Auto-booting applications − If you want a RISC-OS application to load
or run as soon as the disc is inserted then you should modify the !Boot
file in the application to execute the !Run file i.e. add the command
*Run <Obey$Dir>.!Run in the !Boot file. This technique could be used,
for example, to automatically load the BASIC Editor when a development
disc is inserted.
3.04
• Break key action − You can set the action of the <break> key using the
*FX 247,<n> command. The value byte <n> alters <break> and modifiers of
it as follows:
3.04
Bits Key Combination
3.04
0.1 <break>
3.04
2.3 <shift-break>
3.04
4.5 <ctrl-break>
3.04
6.7 <ctrl-shift-break>
3.04
Each two bit number may take on one of these values:
3.04
Value Effect
3.04
00 Act as <reset> key
3.04
01 Act as <escape> key
3.04
10 No effect
3.04
11 Undefined
3.04
The default is *FX 247,1 which makes <break> act as if it were <escape>
and all other combinations cause a reset.
3.04
• Desktop grey scale? If you modify colours 0 or 7 (white or black)
using the desktop palette utility then the palette application will
attempt to interpolate the colours in between i.e. colours 1-6. Try it
and see!
3.04
• Don’t move your mouse! Whilst waiting for a program to complete a
lengthy process (e.g. when the hourglass is on) it is best not to move
the mouse as keeping track of the mouse movements takes up processor
time.
3.04
• Faster BASIC SWI’s − When using the SYS command within a BASIC V
program, it is quicker to use a number instead of a string. e.g. SYS6
instead of SYS “OS_Byte”. However, the best way to obtain the number
values is to use a BASIC variable and “OS_SWINumberFromString”. This
increases speed while maintaining machine independence and readability.
For example:
3.04
program segment missing
3.04
• Insert/overwrite with !Edit − It is possible to toggle between insert
and overwrite mode in Edit by pressing <shift-f1>.
3.04
• Mouse step − you can set the sensitivity of your mouse by using the
BASIC V MOUSE STEP command e.g. MOUSE STEP 4 means that the pointer will
move 4 O.S. pixels for every mouse pulse. The ‘sensitivity parameter’
can take a zero or even a negative value, so that you can freeze the
mouse or even invert it!
3.04
• Multiple entry PROC’s and FNs − You can have multiple entries to
procedures and functions, although it may not be good programming style.
This is because lines beginning with DEF are not executed, so you can
have further DEFs within the body of a procedure/function, and enter at
these points with an appropriate call − this might be particularly
useful to have a first entry, set up some default parameters, and then
have entry to override them:
3.04
program segment missing
3.04
• O.S. case sensitivity − Contrary to what has been said in the past,
the operating system is almost entirely case-insensitive, unlike BASIC,
and although the case of filenames and variable names is preserved it is
not significant. Quotes are also generally unnecessary except when
including a space in a parameter.
3.04
• Removing recursive directories (cont’d) − If you accidentally copy a
directory into itself then the best way to tidy the disc up is to create
a RAM disc and move the unwanted files into it (you can move a file by
dragging it into the filer window while holding the <shift> button
down).
3.04
• Time for function keys − Function key strings are just treated as OS
variables called Key$<n>, where <n> is the key number. This means that
all the commands relate to system variables can be used with function
keys e.g. *ShowKey$ will display key definitions. *SetMacro Key$0
<Sys$Time> will make <f0> display the time and so on.
3.04
• Using *GOS − You can use the *GOS command from the desktop to prevent
returning if you accidentally hit the <return> key. Once you have
finished typing your *commands you can use the •Quit command to go back
to the desktop.
3.04